/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modele;

/**
 * Classe abstraite représentant une Case de base
 * @author EpsilonE
 */
public abstract class Case 
{
    protected String nom;
    protected int num;
    protected boolean achetable;
    protected boolean aVendre;
    
    /**
     * Constructeur de la classe
    * @param No Nom de la case
    * @param  Nu Numéro de la case sur le plateau
    */
    public Case(String No, int Nu, boolean achetable, boolean aVendre)
    {
        this.nom = No;
        this.num = Nu;
        this.achetable = achetable;
        this.aVendre = aVendre;
    }
    
    /**
     * Fonction abstraite, effectuant les actions de la carte piochée
     * @param j Joueur qui a tiré la carte
     * @param p Plateau du jeu
     */
    public abstract void effet(Joueur j, Plateau p);

    /**
     * @return the nom
     */
    public String getNom() 
    {
        return nom;
    }
    
    /**
     * @return the nom
     */
    public int getNum() 
    {
        return num;
    }
    
    /**
     * @return the nom
     */
    public boolean estAchetable() 
    {
        return achetable;
    }
    
    /**
     * @return the nom
     */
    public boolean estAVendre() 
    {
        return aVendre;
    }
}
